The present invention relates generally to the manner in which computer software applications execute User commands, and more specifically, to providing a preview of identified User commands.
Most computer software application programs require interaction with the User in which the User may select commands from a variety of options. In document and graphic editing programs, for example, command options are available which alter the appearance of a User document. Generally, the process of executing commands consists of a User scanning through a large list of menu or toolbar options, often in a multi-level hierarchy, to select and then execute a desired command. The execution of the selected command usually consists of striking a  less than Return greater than  key, an  less than Enter greater than  key, clicking on an  less than Okay greater than  icon, or responding positively to a query such as Confirm? (Y or N). The executed command then modifies the application document and closes the menu, and the User can see the impact of the command on the active document. If the User is not happy with the result, the menu options must be scanned again, and another command selected and executed. This process is slow and requires multiple keystrokes by the User, and may have to be repeated several times before the User obtains the desired result.
The same problems arise in text editing programs, graphic editing programs, and in software in general.
To expedite the process of command selection, there are a number of methods of previewing how a proposed change will impact a document. A technique common to text editing programs, is to provide a small dialogue window in a What-you-see-is-what-you-get (WYSIWYG) format. These windows provide the User with a small sample of how the change will impact the text in the document, and are commonly used, for example, for font face and size. There are two common implementations which are set out herein.
The first implementation is to execute the format code on a generic text listing, for example, the uppercase and lowercase letters of the alphabet, or a string such as xe2x80x9cThe quick brown fox jumps over the lazy dog.xe2x80x9d Although such an implementation presents text in the format being considered, it may not show the impact on the particular characters the User is using. As well, because the preview window only presents a small sample, there is no indication of how the change might impact an entire document.
The second implementation is to execute the format code on the first 20 or so characters of the selected text being modified. In this case, the text being modified comes from the User""s actual text, so the preview window does provide the User with more information on how the change will affect the active document, but again, it is just a small sample. In the example of a font change, there is no indication of how the layout of the text in the document may be changed. Unexpected changes may occur such as text wrapping unexpectedly, or a graphic being pushed to an unwanted location in the active document. The User only finds out how the document is changed by executing the command, then closing the menu window and studying the document.
There are also a number of commands in text editors for which no preview is given at all. With preview limited to a small sample window, there is no point in providing the User with a preview of guideline or margin changes, for example. There is a need for such a preview as a User may wish to adjust the tab guidelines in a table so that the columns appear balanced, or change the margins so that the document does not exceed a certain number of pages.
Generally margins and guidelines are modified by the User grabbing them with a curser, that is, by positioning a cursor over the margin or guideline and holding a mouse click button down, then relocating the margin or guideline to a new location and releasing the click button on the mouse. While the line is being relocated, an outline or shadow of the line appears in the document window, but the document itself is not updated until the mouse click is released, so there is no way to determine the impact on the document until the click is released.
Graphic editing programs are commonly used to prepare brochures, tables, schedules, flow charts, schematic diagrams, and many other such documents. Again, text preview windows are only appropriate for changes to the font size and type, so no preview is available for most other commands.
Some graphic editing programs provide the User with outlines or shadows of graphic figures as they are being moved or modified, but such outlines do not reflect the actual change to the document. The User must execute the change to see the complete impact.
Commands may be selected from toolbar menus, toolbar combo-boxes, toolbar grid-pickers and dialogue boxes, using a mouse, trackball, directional arrows, ALT keys or Function keys. As noted above, execution may be affected by striking a  less than Return greater than  key, an  less than Enter greater than  key, clicking on an  less than Okay greater than  icon, or responding positively to a query such as Confirm? (Y or N).
There is therefore a need for a method of allowing a User to preview the impact of commands on an active document, or in general, to execute commands in an efficient and effective manner.
It is therefore an object of the invention to provide a method and system of efficiently and effectively previewing User commands. The method executes User commands on the active document as they are identified, providing the User with the actual impact of the command on the entire document in real time.
Accordingly, an aspect of the invention is broadly defined as a method of providing real time preview of commands in a computer system having means for displaying commands on a display screen, comprising the step of responding to one of the commands being identified by executing computer code corresponding to the identified command.